import {
    API_USER_AVATAR_UPLOAD,
    API_USER_INFO,
    API_USER_LOGIN,
    API_USER_LOGOUT,
    API_USER_UPDATE,
    API_USER_UPDATE_PASSWORD,
    API_USER_VIEW_INFO
} from "~/constant/api";
import {LoginUser, User} from "@/entity/user";

export default new class user{
    /**
     * 登录
     */
    login(loginForm: LoginUser) {
        return useUtils().HttpUtils.post(API_USER_LOGIN, {...loginForm});
    }

    /**
     * 注销
     */
    logout() {
        return useUtils().HttpUtils.post(API_USER_LOGOUT);
    }

    /**
     * 获取用户信息
     */
    getUser() {
        return useUtils().HttpUtils.get(API_USER_INFO);
    }

    /**
     * 获取用户信息
     */
    getUserById(userId: string){
        return useUtils().HttpUtils.get(API_USER_VIEW_INFO + "/" + userId);
    }

    /**
     * 修改用户信息
     */
    updateUser(userInfo: User) {
        return useUtils().HttpUtils.put(API_USER_UPDATE, {...userInfo});
    }

    /**
     * 修改用户密码
     */
    updatePassword(oldPassword: string, newPassword: string) {
        return useUtils().HttpUtils.put(API_USER_UPDATE_PASSWORD, {
            oldPassword,
            newPassword
        });
    }

    /**
     * 头像上传
     */
    uploadAvatar(data: any) {
        return useUtils().HttpUtils.post(API_USER_AVATAR_UPLOAD, data);
    }
};